/*
 * Copyright (C) 2021 Realtek Semiconductor Corp.
 * All Rights Reserved.
 *
 * This program is the proprietary software of Realtek Semiconductor
 * Corporation and/or its licensors, and only be used, duplicated,
 * modified or distributed under the authorized license from Realtek.
 *
 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
 *
 * Purpose : Definition of ME attribute: XG-PON downstream management performance monitoring history data  (345)
 *
 * Feature : The file includes the following modules and sub-modules
 *           (1) ME attribute: XG-PON downstream management performance monitoring history data  (345)
 */

#ifndef __MIB_XGPONDSMANGPMHD_TABLE_H__
#define __MIB_XGPONDSMANGPMHD_TABLE_H__

#ifdef __cplusplus
extern "C" {
#endif


/* Table XG-PON attribute index */
#define MIB_TABLE_XGPONDSMANGPMHD_ATTR_NUM (17)
#define MIB_TABLE_XGPONDSMANGPMHD_ENTITYID_INDEX ((MIB_ATTR_INDEX)1)
#define MIB_TABLE_XGPONDSMANGPMHD_INTENDTIME_INDEX ((MIB_ATTR_INDEX)2)
#define MIB_TABLE_XGPONDSMANGPMHD_THRESHOLDID_INDEX ((MIB_ATTR_INDEX)3)
#define MIB_TABLE_XGPONDSMANGPMHD_PLOAMMICERRCNT_INDEX ((MIB_ATTR_INDEX)4)
#define MIB_TABLE_XGPONDSMANGPMHD_DSPLOAMMSGCNT_INDEX ((MIB_ATTR_INDEX)5)
#define MIB_TABLE_XGPONDSMANGPMHD_PROFILEMSGRECV_INDEX ((MIB_ATTR_INDEX)6)
#define MIB_TABLE_XGPONDSMANGPMHD_RANGINGTIMEMSGRECV_INDEX ((MIB_ATTR_INDEX)7)
#define MIB_TABLE_XGPONDSMANGPMHD_DEACITVATETONUIDMSGRECV_INDEX ((MIB_ATTR_INDEX)8)
#define MIB_TABLE_XGPONDSMANGPMHD_DISABLESNMSGRECV_INDEX ((MIB_ATTR_INDEX)9)
#define MIB_TABLE_XGPONDSMANGPMHD_REQUESTREGISTMSGRECV_INDEX ((MIB_ATTR_INDEX)10)
#define MIB_TABLE_XGPONDSMANGPMHD_ASSIGNALLOCIDMSGRECV_INDEX ((MIB_ATTR_INDEX)11)
#define MIB_TABLE_XGPONDSMANGPMHD_KEYCTRLMSGRECV_INDEX ((MIB_ATTR_INDEX)12)
#define MIB_TABLE_XGPONDSMANGPMHD_SLPALLOWMSGRECV_INDEX ((MIB_ATTR_INDEX)13)
#define MIB_TABLE_XGPONDSMANGPMHD_BASELINEOMCIMSGRECVCNT_INDEX ((MIB_ATTR_INDEX)14)
#define MIB_TABLE_XGPONDSMANGPMHD_EXTENDEDOMCIMSGRECVCNT_INDEX ((MIB_ATTR_INDEX)15)
#define MIB_TABLE_XGPONDSMANGPMHD_ASSIGNONUIDMSGRECV_INDEX ((MIB_ATTR_INDEX)16)
#define MIB_TABLE_XGPONDSMANGPMHD_OMCIMICERRCNT_INDEX ((MIB_ATTR_INDEX)17)


/* Table XG-PONDSMANGMHD attribute len, only string attrubutes have length definition */

// Table XG-PONDSMANGMHD entry structure
typedef struct {
	UINT16   EntityId;
	UINT8    IntEndTime;
	UINT16   ThresholdID;
	UINT32   PloamMicErrCnt;
	UINT32   DsPloamMsgCnt;
	UINT32   ProfileMsgRecv;
	UINT32   RangingTimeMsgRecv;
	UINT32   DeactivateOnuIDMsgRecv;
	UINT32   DisableSnMsgRecv;
	UINT32   RequestReistrationMsgRecv;
	UINT32   AssignAllocIDMsgRecv;
	UINT32   KeyCtrlMsgRecv;
	UINT32   SlpAllowMsgRecv;
	UINT32   BaselineOmciMsgRecvCnt;
	UINT32   ExtendedOmciMsgRecvCnt;
	UINT32   AssignOnuIDMsgRecv;
	UINT32   OmciMicErrCnt;
} __attribute__((packed)) MIB_TABLE_XGPONDSMANGPMHD_T;


#ifdef __cplusplus
}
#endif

#endif
